package model

type MapRelationType uint8

const (
	SameRealtion    MapRelationType = 0 //同层
	FactoryRealtion MapRelationType = 1 //厂区切换
	FloorRelation   MapRelationType = 2 //楼层切换
)

//小车类型
type MapRelation struct {
	FromMap     string          `json:"from_map" bson:"from_map" binding:"required"`     //起始地图名
	StartId     string          `json:"start_id" bson:"start_id" binding:"required"`     //起始点位id
	StartPathId string          `json:"-" bson:"start_path_id" `                         //起始地图连接路径id
	ToMap       string          `json:"to_map" bson:"to_map" binding:"required"`         //终止地图名
	GoalId      string          `json:"goal_id" bson:"goal_id" binding:"required"`       //终止点位id
	GoalPathId  string          `json:"-" bson:"goal_path_id"`                           //终止地图连接路径id
	Type        MapRelationType `json:"type" bson:"type" binding:"required,oneof= 1 2" ` //类别  1=厂区切换 2=楼层切换
	DeviceCode  string          `json:"device_code" bson:"device_code"`                  //设备编号
	CostValue   int             `json:"cost_value" bson:"cost_value" binding:"required"` //地图切换的代价值，单位为秒
	IsTwoWay    bool            `json:"is_two_way" bson:"is_two_way"`                    //默认true  true=双向 false=单向
	AgvId       string          `json:"-" bson:"agv_id"`                                 //占用的AGV ID
	PositiveWay bool            `json:"-" bson:"positive_way"`                           //agv占用的切换方向 正向 反向
}
type MapRelationPoint struct {
	MapName  string `json:"map_name"`
	SiteId   string `json:"site_id"`
	AgvId    string `json:"agv_id"`
	Positive bool   `json:"positive"`
	FromMap  string `json:"from_map"` //起始地图名
	StartId  string `json:"start_id"` //起始点位id
	ToMap    string `json:"to_map"`   //终止地图名
	GoalId   string `json:"goal_id"`  //终止点位id
}

func (MapRelation) TableName() string {
	return "t_data_map_relation"
}
